Devices and methods for conditional execution decision making in relation to services received and creation of information messages associated with said services, and associated products

ABSTRACT

The present invention relates to a conditional decision device and method for the execution of services received, having predetermined life spans. This device receives and identifies information relating to computer programs required for the execution of these services. It checks the local availability of these programs and allows the services to be executed if the associated programs are available locally. Furthermore, it is capable of triggering a downloading of the programs when the latter are not available locally, and allowing or preventing such a download, at least according to information associated with the services. The invention also relates to a device and a method for compiling associated messages. Application to ATVEF and MHP standards.

The present invention relates on the one hand to conditional decisiondevices and methods for the execution of services received and on theother hand to devices and methods for the compilation of informationmessages associated with services, and associated products.

It applies to interactive televisions and to set-top-boxes (STBs),enabling users to interact with interactive services. For this, theseterminals are normally connected to one or two communication networkscomprising a bidirectional network (modem return channel, cable, etc.)of the point-to-point type (such as the telephone network) and an analogor digital one-way distribution network (microwave, cable, satellite TVtransmission network). The description below is concerned moreparticularly with interactive consumer terminals, which include inparticular receivers such as those marketed under the brand name TAK(eTV), DVB (Digital Video Broadcasting) decoders and Internet decoders.

In such a terminal, the execution of interactive services in addition tothe transmitted programs, is based on specific features of the terminal,in particular for the display. These specific features more often thannot take the form of an embedded software set, including plug-ins, thatis, application software in addition to existing software, which areautomatically activated in the presence of multimedia objects withoutrequiring intervention from the user. The plug-ins are normallyassociated with Web browsers. Often downloaded free of charge over theInternet, they are used, for example, to listen to sounds or viewvideos. For example, a very widely used plug-in is the one marketedunder the name “Flash” by Macromedia. This Internet page animationplug-in is used to insert animations in HTML (HyperText Markup Language)format pages.

The service providers are mainly broadcasters, or advertisers. A serviceoperator controls the transmission of the interactive services, byvirtue of a contract signed with a provider, direct or indirect (bysubcontracting), of these services. The latter normally concern eitherlive events or televised games (the provider is then a broadcaster), orinteractive promotions (the provider is then an advertiser). In bothcases, the service operator undertakes to transmit the servicescorrectly (number and scheduling of the transmissions, correctexecution, etc.) and, in addition to a certain quality of service,ensures reception by as many terminals as possible.

Thus, the interactive consumer terminals receive enhanced programs, inother words audio-visual programs with which interactive services arelinked. Each interactive service conventionally comprises, fortransmissions according to the ATVEF (Advanced Television EnhancementForum) standard, HTML pages and dependencies such as pictures in GIF(Graphics Interchange Format) or JPEG (Joint Photographic Experts Group)formats, or Flash animations. This operation is similar fortransmissions according to the DVB-MHP (Multimedia Home Platform)standard, this standard also being based on HTML.

Typically, when an enhanced program is broadcast, the terminal begins byacquiring the interactive service. Then, the reception of a signal sentby the operator provokes the appearance of a graphic or textual displaysuperimposed on the video, prompting the user to interact with thisservice. If appropriate, depending on the operator's choice, this promptis bypassed and the service appears directly. In the ATVEF context, thetransmission and display of the interactive service comprise thefollowing steps:

-   -   transmission of a service announcement message notifying the        terminal that interactivity is present; the terminal then        listens for the content of the interactive service, therefore        awaiting reception of the HTML pages and of all the dependencies        that make up this service, and instructions to execute this        service in the form of triggers (display triggers, but also        service update triggers);    -   transmission of the content;    -   and transmission of the triggers.

In the MHP context, the operation is similar, the service announcementmessage taking the form of a signaling.

Now, the plug-ins evolve very quickly and there are numerous successiveversions. Thus, the Flash plug-in currently comprises in particular theFlash3, Flash4 and Flash5 versions, all of which are very widely used. Aterminal having the Flash5 plug-in can then display Flash3 animations,but if it has only Flash3, it is incapable of displaying correctly anHTML page containing an animation done in Flash4 or Flash5 mode.Furthermore, the service providers tend always to want to use the latestplug-in versions, to obtain maximum benefit from their capabilities andto put the finishing touches to the presentation of their interactiveservices.

On the interactive terminals side, it is therefore necessary to makeregular updates. As long as the services are operated by a single entitytowards uniform targets, such operations can still be controlled.However, when two service operators are operational or the targetinstalled base of STBs or interactive TVs becomes non-uniform,difficulties arise. Thus, if a terminal has not been updated in a recentsoftware downloading campaign, for example, this terminal may no longerbe able to display certain transmitted interactive services. Now it isprobable for the consumer applications that the installed base ofterminals is effectively non-uniform, not all the terminals having beensystematically updated.

To confront this problem, it is known to proceed in such a way that thetransmitted services indicate to the terminals the plug-ins and theirversions required for perfect execution. The terminal can then decidewhether to execute the service according to the means available to it,even if it means displaying an HTML page in degraded mode if it has aless powerful version than the one indicated, but nevertheless one thatcan be used for this service.

This approach contrasts with that of the information technology world,in which the user is prompted to download the most recent version of therequired plug-in, for example to display an HTML page. This choice bythe user is not then a problem, since the request is addressed to arelatively aware public and the downloading time has no effect on thequality of service (not synchronized with a transmission). By analogywith the IT world, if the user of an interactive terminal uses thebidirectional network to request information even if he does not havethe latest required plug-in version, a degraded mode display is alsoacceptable, given that it is the user himself who takes the initiativeto execute the service.

On the other hand, in the case of a service received by broadcasting, itis important for the service (for example, an interactive promotion) tobe executed perfectly on all the consumer terminals that receive it, inaccordance with the contract entered into previously between theoperator and the service provider. The degraded mode display, likenon-execution of the service, run the risk of being highly prejudicialto the quality of the services provided.

The MHP standard, in its most recent version 1.1.1 (ETSI TS 102 812V1.1.1) provides for the indication, in the signaling, of informationconcerning the plug-ins required to execute the associated services(section 10.13.2), such as the identity of the plug-in application andits start-up mode. Furthermore (section 10.13.3) provides for being ableto associate each application executable by means of a plug-in with anumber of plug-ins, each of which can be used for this purpose, arrangedin order of preference (including one by default). However, the standardremains silent on the use of this information when none of the plug-insthat can be used for an application to be executed is available locallyin the terminal. In all probability, current usages in this field leadto the execution of the service being refused.

In order to partially resolve the difficulties raised by thenon-execution of services, or their approximate execution, it could bepossible to envisage systematically downloading the preferred plug-insrequired in an MHP signaling, when the latter are not available locally.Such a solution would at least make it possible to anticipate subsequentrequirements concerning these plug-ins.

However, the problem of execution of services relying on a plug-in notyet available would continue to be detrimental. In practice, it isprobable that, in a large number of cases, downloading would not befinished when the contents and triggers are received. Not only wouldthere then be a risk that the received service could not be executed,but the terminal would often needlessly acquire the content of thisservice. Furthermore, an automatic operation to download plug-ins wouldrisk being problematical in many respects, in particular in terms ofbandwidth and storage space occupancy.

This is why the most natural solution would seem to involveconditionally executing the application concerned, according to whetherthe required plug-ins (mentioned in the signaling) are available locallyor not, even if it means taking into account missing plug-ins to perfecta local update management involving a user. Such an update process basedon polling of a terminal would in any case only be of value for thefuture, and would therefore not be applicable to the services requestingfor the first time a new version of a plug-in, or a plug-in for whichthe need had not yet been felt.

The present invention proposes a conditional decision device for theexecution of received services, which overcomes many of the abovedifficulties, by making it possible to significantly reduce the numberof cases in which the services cannot be executed, while avoidingdownload operations that are prejudicial to the use of the terminalsconcerned and a management that is complex and tedious for the users.Furthermore, the conditional decision device of the invention mayfacilitate a flexible and effective updating of the functionalitiesavailable in the terminals.

The invention also relates to a conditional execution decision methodcorresponding to the decision device of the invention, and to a deviceand a method for compiling information messages and associated products.

It applies in particular to the field of television, but can also beadvantageously applied to radio, and any other sector that might involvethe transmission of services having predetermined life spans.Furthermore, it can be operated equally in analog and digitalenvironments.

The term “service” is understood here to mean a set of functionalitiesintended for transmission to terminals and for execution thereon, inparallel with the reception by these terminals of programs transmittedby broadcasting. This service may or may not be interactive, theinteractivity itself possibly being local (communication between a userand his terminal) or remote via a return channel (communication betweena user and a service operator via the terminal).

Thus, the object of the invention is to produce a conditional decisiondevice for the execution of services received via a communicationnetwork, said received services having predetermined life spans. Thedevice comprises:

-   -   a module for receiving information associated with the services,        provided to receive this information prior to the execution of        the associated services,    -   a module for identifying, from the information received,        information concerning computer programs required to execute the        services associated with this information,    -   a module for checking the local availability of the identified        computer programs,    -   and a selective decision module for the execution of services,        provided to allow the execution of the services if the computer        programs required for these services are available locally.

According to the invention, this device also comprises:

-   -   a module for acquiring computer programs, capable of triggering        a download of the computer programs required for the services if        these computer programs are not available locally,    -   and an automatic selective decision module for acquiring        computer programs, capable of allowing and preventing the        downloading of the computer programs required for these services        and not available locally, at least according to the information        associated with these services.

Thus, surprisingly, the invention relies neither on adaptation attransmission level, for example to systematically offer the most recentplug-ins early enough before the transmission of services using them,nor on adaptation at reception level, for example by increasing theresources of the terminals in terms of bandwidth and storage capacities.In contrast, the device of the invention relies on an interactionbetween transmission and reception, using both the information suppliedon transmission (information on the computer programs required) andlocal information (availability of the required computer programs,decision criteria concerning the downloading).

In this way, the receiver can be adapted automatically and flexibly tothe situation, by deciding whether or not to download the computerprograms (preferably plug-ins) required by the services receivedsubsequently. In a successful embodiment of the invention, the receiveris capable of triggering the downloading of the missing computerprograms whenever this downloading is satisfactory to both the senderand the user of the services, and of avoiding this operation in theother cases. The content of a service is not therefore acquired by aterminal if the latter is incapable of executing it.

Thus, in the preferred embodiments that can be combined:

-   -   the downloading takes place only if it is completed when the        service concerned is started up, given that initiating the        service currently running is considered to be pointless (for        example, interactive game during a transmission, in which        missing the start of the game amounts to a certain loss);    -   the downloading takes place only if it is completed at a        predefined moment before the end of the service concerned, given        that initiating the service currently running is considered        useful (for example, football results during a match);    -   the downloading takes place even if it cannot be used for the        service concerned, because the downloaded computer program is        very useful in general and will be available for other services,        or will be useful for subsequent occurrences of the service        concerned;    -   the downloading takes place only if it remains confined to a        predefined bandwidth and/or it occupies only a predefined        limited storage space.

The information sent may or may not be directly intended for thisdecision process. It may, in particular, be an indicator imposing thedownloading of a plug-in in all circumstances, even if it means thatthis plug-in becomes available only during the execution of the serviceassociated with this indicator, or even that this plug-in will not bedownloaded in time for this service but will be useful for subsequentservices. It may also concern information accessible in serviceannouncement messages independently of this particular application,concerning, for example, the identity of the plug-in (as in the MHPstandard). In all cases, an important aspect of the invention is thecombination of the decision criterion at reception level and the use ofthis information.

Moreover, elements in addition to this information may be involved inthe decision, such as, for example, local resources.

The decision device is advantageously incorporated in a terminal (suchas, in particular, a television or an interactive radio set or an STB).However, in other embodiments, it is placed in an intermediate receiverbetween the transmitter and the terminals. For example, such a receiveris used for a group of terminals pooling bandwidth and storage reserves(company, building, etc.).

As for the communication network used to transmit the services, it maybe one-way or bidirectional. The mode of transmission of the informationassociated with the services is applied preferably, but not necessarily,via this same network. For example, the services and the information arecommunicated by broadcasting over one and the same network via cable,microwave link or by satellite. In another example, the information iscommunicated by the Internet (or, more generally, by the return channel)before the associated services are broadcast.

A case that is particularly advantageous for its user-friendliness andits ease of implementation in light of the existing standards, is thatin which the information is communicated within the very servicesconcerned, in the service announcement messages, in particular for theATVEF and MHP standards (the services including service announcementmessages and contents). The reception module is then designed to receivethe information associated with these services, in the serviceannouncement messages, and the information identification module isdesigned to extract the information from these service announcementmessages.

Thus, in a preferred embodiment, the interactive service incorporatesboth the information describing the plug-ins that it uses andinformation forcing or not forcing downloading, so that the terminal candecide whether or not to download these plug-ins. This information isadvantageously entered when publishing the interactive service from aform, for example. Thus, when generating the interactive service data,this information is inserted in the files that make up the service. Asfor the terminal, it includes an algorithm for the decision whether ornot to download plug-ins according to their size and the life span ofthe service.

In the analog TV and ATVEF world, this information is advantageouslyinserted in the SDP (Session Description Protocol, service announcementmessage payload format) part of the announcement in the form of a listof plug-ins required. This additional information is preferablyindicated globally for all the service. In the case of an ATVEF service,for example, it is not actually desirable to indicate, in each of theHTML pages that make up the interactive service which plug-ins arerequired to execute this page. This would overload each page of theservice and, above all, since a first page of a service might bedisplayable by the terminal but not a second page, the user would riskhaving access to only part of the service, without being able tonavigate in it.

In the digital TV and DVB world, this information is advantageouslyinserted in signaling stream descriptors, in the form of identifiersassigned from tables listing all the existing and available plug-ins.

Knowing these prerequisites, the terminal can then decide initiallywhether to download the plug-in and software versions that may berequired and not available, then, in a second stage, whether to displaythe interactive service.

Preferably, since the information associated with the services includestemporal information relating to the validity of execution of theseservices, the selective acquisition decision module is capable ofallowing and preventing the downloading at least according to thistemporal information. It is, in practice, interesting to take account ofthe chronology of a service (start, end, determining step, etc.) todecide whether or not to download, this chronology normally beingsynchronized with the broadcasting of associated programs.

Advantageously, the selective acquisition decision module is thendesigned to allow the downloading if this downloading is expected to becompleted before predefined instants of the services, extractable fromthe temporal information, and to prevent this downloading otherwise.

Thus, according to a first manner in which this temporal information istaken into account, these predefined instants specify ends of validityof execution of the services. In the case of a lengthy service (such asa portal type service accessible continuously on a daily basis or theretransmission of a sporting event such as a football match), it is, inpractice, important to download the missing plug-in(s) (operation takingonly a few minutes) and then to offer the service to the viewer.

According to a second manner in which this temporal information is takeninto account, these predefined instants specify starts of validity ofexecution of the services. The two forms are advantageously combined,inasmuch as some additional information received can be used todiscriminate between the two cases (for example, a specific indicatorconcerning the decision criterion, or information on the type of servicesuch as “portal accessible continuously”).

In cases in which the download authorization is dependent on predefinedinstants of the services, the selective acquisition decision module ispreferably capable of acquiring downloading times of the computerprograms required and not available locally, and thus of estimating whenthis downloading is expected to be completed. This mode of acquisitionis advantageously obtained from information received such as the sizesof the computer programs, and local information such as the availablebandwidth.

Preferably, since the information associated with the services includesat least one forced downloading indicator having an activated value anda deactivated value, the selective acquisition decision module isdesigned to forcibly allow the downloading if this forced downloadingindicator has the activated value.

More specifically, and by way of example, even when downloading themissing plug-in(s) will not enable the current occurrence of a serviceto be displayed (downloading time longer than the life span of theservice), it may, despite everything, be beneficial to force theterminal to download the missing component or components for one of thefollowing reasons:

-   -   this interactive service (a short promotion, for example) must        be transmitted n times during the month and each time the        interactive promotion is transmitted, the terminal does not have        time to download the plug-in; without the above arrangement, it        would never therefore offer this service to the viewer; the        embodiment with forced downloading indicator can be used to        force the downloading of this plug-in so that the viewer can        benefit from the remaining n−1 transmissions of the promotion;    -   this plug-in is so widely used that it is unavoidable; in this        case, the embodiment with forced downloading indicator can be        used to force all the terminals of the installed base to acquire        it, even if it cannot be used by the service proposed at this        moment.

In both these cases, it is intended that the downloaded plug-ins shouldbe saved in permanent memory, that is, they should be installed in Flashmemory or on hard disk.

Preferably, and in general, the conditional execution decision device ofthe invention also includes a module for acquiring sizes of the computerprograms required and not available locally and the selectiveacquisition decision module is capable of allowing and preventing thedownloading also according to these sizes.

A first way of using these sizes has already been mentioned above: theselective acquisition decision module is designed to estimatedownloading times of the computer programs required and not availablelocally according to these sizes and local reception capabilities forthe computer programs, and to allow the downloading when the latterallows an at least partial subsequent execution of the services.

According to a second way of using these sizes (that can be combinedwith the first), the decision module can decide not to allow thedownloading even though the information arrives a long time before thecontent of an associated service, because the receiver has resourcesthat are too limited given the size of one of the computer programsrequired. This resource limitation may be inherent to the receiver(modem too slow, disk space or, more generally, storage space, toolimited) or result from the receiver operating mode (bandwidth needingto remain available mainly for other types of reception, and leavingonly 10% free for example).

The invention also relates to a conditional decision method for theexecution of services received via a communication network,corresponding to the conditional decision device of the invention, andpreferably designed to be implemented using such a device according toany one of its embodiments.

The invention also applies to a device for compiling informationmessages associated with services, these messages being intended fortransmission to users before execution of the associated services. Thisdevice includes means of incorporating in the messages informationconcerning computer programs required for the execution of theseservices.

According to the invention, the incorporation means are designed toinclude in this information at least one forced downloading indicatorhaving an activated value and a deactivated value, this indicator beingdesigned to forcibly allow the downloading of the computer programsrequired if the indicator has the activated value.

This message compilation device is preferably designed to producemessages intended for a conditional execution decision device accordingto any one of the embodiments of the invention.

The invention furthermore applies to an information message compilationmethod corresponding to the information message compilation device ofthe invention, preferably implemented using such a message compilationdevice.

Another object of the invention is to produce a computer program productcomprising program code instructions for the execution of the steps ofthe conditional execution decision method or the information messagecompilation method according to the invention, when this program is runon a computer. The term “computer program product” is used to mean acomputer program medium, which may consist not only of a storage spacecontaining the program, such as a diskette or a cassette, but also of asignal, such as an electrical or optical signal.

The invention also relates to a control information message containinginformation intended to be utilized automatically by at least onereceiver and associated with at least one service, this message beingdesigned to be transmitted to the receiver before an execution of thisservice, and including information concerning at least one computerprogram required for the execution of this service.

According to the invention, this information includes at least oneforced downloading indicator having an activated value and a deactivatedvalue, this indicator being intended to forcibly allow the downloadingof the computer program required if the indicator has the activatedvalue.

The control information message of the invention is preferably intendedto be produced by a message compilation device according to theinvention.

The invention furthermore applies to a decoder, characterized in that itcomprises a conditional execution decision device according to any oneof the embodiments of the invention.

The invention will be better understood and illustrated by means of thefollowing exemplary embodiments and implementations, by no meanslimiting, with reference to the appended drawings, in which:

FIG. 1 is a schematic diagram of a transmission and reception systemimplementing a conditional execution decision device according to theinvention;

FIG. 2 represents in more detail, in block diagram form, the conditionaldecision device of FIG. 1;

FIG. 3 shows an information message compilation device according to theinvention, used in the system of FIG. 1;

FIG. 4 illustrates in flow diagram form a decision process concerningthe display of a service by the conditional decision device of FIGS. 1and 2;

FIG. 5 represents a software implementation of the system of FIG. 1,according to a first embodiment of the conditional execution decisiondevice, with interactive terminal and applied to the ATVEF standard;

FIG. 6 details the interactive terminal of FIG. 5;

FIG. 7 develops, in flow diagram form, a decision process for thedownloading of plug-ins and the display of a service, by means of theconditional execution decision device of the interactive terminal ofFIGS. 5 and 6;

FIG. 8 details an interactive terminal incorporating a second embodimentof the conditional execution decision device of FIGS. 1 and 2, appliedto the MHP standard;

FIG. 9 illustrates a typical sequence of steps of a procedure obtainedusing the interactive terminal of FIG. 8;

and FIG. 10 diagrammatically represents a personal computerincorporating a third embodiment of the conditional execution decisiondevice of FIGS. 1 and 2.

In the figures, identical or similar elements are denoted by the samereferences. Corresponding elements that have different identities areindicated by identical numbers and difference suffixes (the suffixes Aand B respectively referring to the ATVEF and MHP standards).

Furthermore, the functional entities described and illustrated (inparticular in FIGS. 1 to 3) do not necessarily correspond to physicallydifferent entities of the systems, but may, for example, consist offunctionalities of one and the same software or of circuits of one andthe same component. Conversely, one and the same module may beimplemented in the form of a number of physically separate entities.

A transmission and reception system (FIG. 1) comprises a transmitter 1and a receiver 2, communicating via a network 6, the transmitter 1 beingdesigned to transmit services 11 to the receiver 2.

The receiver 2 is provided with a service execution unit 40 and aconditional decision device 20 for the execution of the services 11received. It also has a storage space 30, provided to store inparticular computer functionalities used to execute the services 11.

The transmission and reception system furthermore includes a source 3 ofinformation relating to the transmitter 1 via a link 8, designed toprovide the conditional decision device 20 with information 12associated with the services 11 via a network 7 (which may be the sameas the network 6). This information 12 includes in particularinformation relating to computer programs required for the execution ofthe services 11. A source 4 of computer programs is used by theconditional decision device 20 to trigger a downloading of computerprograms 13 required for execution of the services 11 to the receiver 2,in particular for saving in the storage space 30.

More specifically (FIG. 2), the conditional execution decision device 20comprises:

-   -   a module 21 for receiving the information 12 associated with the        services 11,    -   a module 22 for identifying, within this information 12,        information concerning the computer programs required to execute        the services 11;    -   a module 23 for checking local availability (in the storage        space 30) of the duly identified computer programs;    -   a selective decision module 24 for the execution of the services        11, if the computer programs required are available locally;    -   a module 27 for triggering the execution of these services 11        (at appropriate moments);    -   a selective decision module for the automatic acquisition 25 of        the computer programs 13 required and not available locally,        designed to allow or prevent the downloading of these computer        programs; for this, the selective decision module 25 is capable        of taking account not only of the information extracted from the        information 12 and other elements included in this information        12 (such as, in particular, the start and end times of the        services 11), but also of local capabilities 15 of the receiver        2, for example stored previously in the storage space 30, and of        sizes 14 of the computer programs 13 required, accessible via a        module 28 for acquiring sizes from a source 5 of sizes of these        programs 13;    -   and a module 26 for acquiring the computer programs required 13        from the source 4 and, where necessary, storing these programs        13 in the storage space 13, on triggering of the selective        acquisition decision module 25.

As for the information source 3 (FIG. 3), it comprises a device 31 forincorporating, within this information 12, information relating to thecomputer programs required. The device 31 itself includes a module 32for incorporating specifications on these computer programs (name,version, etc.) and a module 33 for incorporating indications relating tothe downloading of these computer programs (downloading mode, address tocontact, etc.).

In operation, the conditional decision device 20 first receives, fromthe information source 3, information relating to computer programsrequired to execute services 11 which will follow from the transmitter1. If all the computer programs required are already available to thereceiver 2, the selective execution decision device 24 decides toexecute the services 11 at the appropriate moment.

Otherwise, the selective acquisition decision device 25 applies a choicealgorithm to decide whether the programs required and not available 13need to be downloaded. If the response is positive, the selectiveacquisition decision module 25 initiates the downloading of the missingcomputer programs 13, by the acquisition module 26, from the source 4.In this case, if everything proceeds correctly and all the necessarycomputer programs are thus available to the receiver 2 in the requiredtime, the selective execution decision module 24 decides to execute theservices 11 at the appropriate time, as indicated previously. In thecases where the selective acquisition decision module 25 decides not toallow the downloading, or when this downloading is decided but provesdefective, or even when it proceeds normally but is completed too late,the selective execution decision module 24 decides not to execute theservices 11 concerned.

In one particular case (FIG. 4) in which the service 11 conforms to theATVEF or MHP standard, the information 12 relating to an interactiveservice 11 is sent in an announcement message for this service. When thereceiver 2 receives this announcement message (step 41), it identifiesplug-in and software versions required to correctly display this service(step 42). It then checks whether all the required elements areavailable locally (step 43) and, if the response is positive, displaysthe interactive service at the appropriate moment (step 44). Otherwise,it takes a decision on whether to download the missing elements (step45). If this decision is negative, it refuses to display the interactiveservice (step 47). If it is positive, it recovers the missing elements(step 46) and displays the interactive service (step 44).

More specific embodiments will now be detailed respectively for theATVEF and MHP services, and in the personal computer (PC) world.

1/ A TVEF Services

The solution based on the ATVEF explained below applies equally to bothanalog and digital worlds. All the implications of the solution aredetailed below (from the publishing of an interactive service through toits reception on a terminal).

Implementation when creating the interactive service 11 (informationincorporation device 31) includes the insertion of the information 12relating to this service in the announcement. In the context of theinteractive TV technology marketed under the name of TAK, for example,this information 12 is entered at the time of publication of theinteractive service 11, for example from a form. The company TAKsupplies each service provider publishing interactive services with aservice publication pack. This pack contains publication software and asimulator consisting of an interactive TV, a minimalist data server anda video insertion module. In a variant, the pack comprises only apersonal computer (PC) and a television linked by a serial link or auniversal serial bus (USB). The publication process thus comprises thefollowing steps:

-   -   creation of the interactive service 11 (development of the        interactive service by writing HTML pages, Flash animations,        instructions in JavaScript language, etc., and by describing        different triggers);    -   completion of a form describing the plug-ins used (for example,        embedded Flash4 animation) and an indicator for forcing        downloading;    -   and generation of the ATVEF files making up this interactive        service 11 (generation of the ATVEF announcement, of all the        contents—HTML pages and, where appropriate, Flash and picture        files—and of the triggers).

Regarding the format of the information 12, a first field is used todescribe the media by indicating the plug-in(s) required. Thisdescription is made up of two parameters:

the format of the media (Flash, MP3, etc.), and

the version of this media,

this field being repeated as many times as there are plug-ins. Anotherunique field is used to force the downloading and installation of themissing plug-ins.

For example, the announcement is encapsulated according to transportlayers compliant with the ATVEF standard in Europe, and comprises aheader in SAP (Session Announcement Protocol) format and a payload inSDP (Session Description Protocol) format, see document RFC 2327—RequestFor Comment). The information describing the interactive service 11 isincluded in the SDP, which offers an attribute field “a=” that can beadapted by the user.

The list of plug-ins used and the required version are inserted in theSDP in the form:

a=<attribute>:<value>

with:

<attribute>=mediaFormat or mediaVersion

and

<value>=character string.

For the mediaVersion attribute, which is optional, <value> is then ofthe type:

<VersionMajor[Separator][VersionMinor]>

the VersionMajor field being mandatory and the separator, which must beknown to the terminals, being of use only when VersionMinor isspecified.

For example, if dealing with a plug-in of the type MyPlugin 4.3 and ifthe chosen separator is the comma (“,”), then:

mediaFormat=MyPlugin

mediaVersion=4.3

If the mediaVersion field is present, it is necessarily attached to thepreceding mediaFormat field. If absent, then either there is no versionto be specified, or only the basic functions offered by the plug-in areto be used, therefore the service can be displayed correctly whateverversion of the plug-in is present.

The indicator for forcing the downloading of the plug-ins, if they areabsent, is also inserted in the SDP in the form:

a=mediaDownload: true or false

By default, if this mediaDownload attribute is not indicated, it isconsidered to be inactive (false). Consequently, the terminal then takesthe decision to download the plug-in(s) or not. Otherwise, if it isassigned the value true, then in all cases, the plug-ins are downloaded.

An example of SDP is expanded below:

v=0

o=−921216992 921216992 IN IP4 172.30.90.160

s=TMM

e=dupont@thmulti.com

p=+1-6504704860

a=lang:en

a=tve-ends:300

a=tve-type:primary

a=tve-id:79f3711c40c3-11c4-ded7-1932f6457700

a=tve-profile:1

a=mediaFormat: Flash

a=mediaVersion: 4

a=mediaFormat: MHEG-5

a=mediaFormat: MP3

a=mediaDownload: true

sdpattribute=foo

t=2873397496 2873404696

m=data 22814 tve-trigger

c=IN IP4 227.37.32.27

m=data 22815 tve-file

c=IN IP4 224.37.32.21

In this example, the browser of the terminal must support Flash4,multimedia applications according to the MHEG (Multimedia HypermediaExpert Group) standard, and audio files in MP3 format. Furthermore, ifone or more components are absent, they must be downloaded.

It is interesting to note that:

-   -   these attributes are media level attributes and not session        level attributes, that is, they are used to describe the media        but they are independent of the current session;    -   these media description attributes must be inserted after the        session description attributes (see RFC 2327);    -   and if a receiver “does not understand” these attributes, then        it disregards them.

The implementation of this embodiment in an interactive terminal 52(FIG. 5) for analog television will now be explained. The terminal 52comprises, in software component form:

-   -   one or more VBI (Vertical Blanking Interval) drivers 54,        designed to extract data transported in the received AV signal        (services 11 and information 12); in the digital TV world, this        component is replaced by a demultiplexer;    -   a browser 55, responsible for managing the interactive services        11; it displays the services 11, receives commands from a viewer        via a remote control and executes requested actions        (hyper-navigation, execution of a script, etc.);    -   the conditional execution decision device 20 (in software form),        capable of recovering the plug-ins 13 required to display the        services 11 and not available;    -   and the interactive services 11 (possibly including in        particular HTML pages, instructions in JavaScript language and        Flash animations) in a storage area 30S.

A broadcaster 51 (the transmitter 1) communicates the ATVEF services 11to the terminal 52 via the network 6, each of these services 11comprising an announcement 61, content(s) 62 and trigger(s) 63. Thisbroadcaster 51 is bilaterally connected with a service operator 53, whocommunicates with the terminal 52 via a bidirectional communicationnetwork 8.

The decisions as to whether to download and display one of the services11 are advantageously taken by the conditional execution decision device20 before even the acquisition of the content 62 of this service, so asnot to load the terminal 52 with useless data that it is in any caseincapable of processing. Before opening listening channels on thecontent 62 and the triggers 63, the interactive terminal 52 thus checkswhether it is able to display the interactive service 11 on receivingthe announcement 61. If it is not able to display it (it does not haveall the plug-ins required and does not have the time to download thembefore the end of life of the service 11), then it may not start tolisten to the content 62 and disregard it.

More specifically, the interactive terminal 52 (FIG. 6) comprises(software components and associated storages), in addition to thedrivers 54, the browser 55 and the storage area 30S for the services 11,a micro-kernel 57, “middleware” (software used transparently betweenapplication and network software) 58 including generic and television(broadcasting, communication) libraries 56, as well as the conditionalexecution decision device 20, and a storage area 30P for plug-ins.

In operation, on receiving a transmitted audio-visual stream 16, thedrivers 54, tuner (not shown) and VBI slicer (not shown) separate theinformation data from the video and audio programs. The audio-visualprograms are then offered to the viewer and, if there is one, aninteractive service 11 is a candidate for display on screen. It is atthis point that the filtering process applied by the conditionalexecution decision device 20 takes place (FIG. 7).

The filtering process comprises the following steps:

-   -   reception of an ATVEF packet in the form of a stack of protocols        required in the world of analog TV in Europe, and extraction of        the IDL B (independent Data Line) level packets,        de-encapsulation of the IDL B and SLIP (Serial Line Internet        Protocol) layers and verification and correction if necessary of        the error codes (FEC, Forward Error Correction); direction of        the duly obtained UDP (Unidirectional Data Protocol)/IP packets        to the browser 55 by the generic broadcasting libraries 56;    -   if a packet arrives over the ATVEF announcements 61 listening        channel (step 41A), then the browser 55 de-encapsulates it and        recovers the SDP payload;    -   the conditional execution decision device 20 carries out various        checks, and recovers the parameters and the list of plug-ins        required to execute the service 11 concerned (step 42A); it also        recovers the value of the indicator capable of forcing the        downloading of the plug-ins and the life span of the interactive        service 11 (tve_ends field of the SDP payload, value indicated        by the attribute t=<start time><stop time>);    -   the device 20 compares the list of plug-ins required with an        embedded list (step 43A);    -   if the plug-ins required by the transmitted service are present        in the list of embedded plug-ins, then the service 11 is        accepted, that is, the browser 55 then opens a listening channel        on the ATVEF content 62 (recovery of the content 62 in the step        71A) and a listening channel on the triggers 63 (recovery of the        triggers 63 in the step 72A); the interactive service 11 is thus        displayed (step 44A);    -   otherwise, the device 20 estimates the time to download all the        missing required plug-ins 13 (step 73A) and compares it with the        life span of the service (step 45A);    -   if this time (plus a constant) is greater than the expiry date        of the service 11, then the device 20 checks the value of the        plug-in download forcing indicator (step 45A′); depending on the        case, the downloading or not of the plug-ins 13 is performed        (step 46A′ for the forced downloading), but the service 11 is in        no circumstances acquired and displayed (step 47A); in the case        where the plug-ins 13 are downloaded, they are then installed in        permanent memory;    -   if this time (plus the constant) is less than the expiration        date of the service 11, then the downloading of the plug-ins is        performed (step 46A) and, in parallel, the service 11 is        acquired (step 74A, the browser 55 then opens a listening        channel on the ATVEF content 62 and a listening channel on the        triggers 63); once the plug-ins are installed on the terminal        52, the browser 55 listens to the channel opened on the triggers        63 and when a display trigger is received (step 75A), displays        the service 11 (step 44A).

The estimation of the time to download a plug-in that is required andnot available 13 and the downloading methods will now be detailed.

The plug-in 13 can be recovered via two types of channels: either bybroadcasting (from the broadcaster 51 or from another transmitter), orby a bidirectional communication with a server (via the return channelfrom the service operator 53 or from another source).

By broadcasting, the operator of the terminals or the service operator53 can use known means for this type of update. For example, hetransmits a signaling describing to the terminal 52 the means ofrecovering the plug-ins transmitted from elsewhere. The terminal 52, byanalyzing this signaling, can then apply a procedure for downloading themissing plug-ins 13. The advantage of this method is that it is notcostly for the user of the terminal 52, because no telephone connectionis required. A particular implementation of such a method can be founddescribed in the document EP-1.245.116, which explains methods oftransmitting and receiving update data. According to the disclosedtechnique, announcement signals, indicating the time when the updatedata will subsequently be transmitted, precede the transmission of thisdata.

By communication with a server, the operator of the terminals or theservice operator 53 can use known means for this type of update. Forexample, he transmits a signaling describing to the terminal 52 themeans of recovering the plug-ins 13 available elsewhere on an on-lineserver. The terminal 52, by analyzing this signaling, then applies aprocedure for downloading the missing plug-ins 13 via the telephone orADSL (Asymmetric Digital Subscriber Line) channel. According to anothermechanism, a connection to a server is initiated and a negotiation isstarted, transparent to the user of the terminal 52, between theterminal 52 and the server. The server then supplies the terminal 52with the missing plug-ins 13.

The estimated download time depends on the type of channel used torecover it (bit rate) and the size of the plug-in 13. Concerningrecovery of the size, the method can involve use of a broadcastingchannel, bidirectional communication with a server or the use ofembedded information.

By broadcasting, the operator of the terminals or the service operator53 continuously transmits a signaling stream indicating the currentsizes of each of the latest available plug-in versions. The advantage ofthis method is its speed, because there is no need to connect to andinterrogate an on-line server (waste of time).

By communication with a server, the terminal 52 is configured to connectto an on-line server that can indicate to it all the known plug-insizes. The advantage of this method is a saving on bandwidth, becausethere is no need to transmit data continually.

For the use of embedded information, the terminal 52 has a knownplug-ins description table, embedded in permanent memory. This table canbe updated regularly either by broadcasting (transmission of the tablein a stream in each downloading session), or on line, when the viewerconnects, for example. The advantage of this method is that itimmediately offers the size of the required plug-in 13 (the terminal 52is then able to take the decision quickly).

The various methods can also be combined. For example, the terminal 52begins by looking for the size of the required plug-in 13 in theembedded table. If this plug-in 13 is not there (the table is too old),the terminal 52 initiates a connection to an on-line server to recoverthe information.

2/ MHP Services

This family of embodiments exclusively concerns the digital world.

For implementation on creation of the interactive service 11(information incorporation device 31), the information concerning thetypes of applications used (for example, embedded Flash4 animation) isentered at the time of publication of this service 11, for example froma form. Thus, a file is generated containing the sources of theinteractive service 11 and all the information relating to the correctexecution of this service (timing for the triggers, list of plug-insrequired, etc.). On creation of an MPEG (Moving Picture Experts Group)stream, this file is imported and the various information is entered inthe stream descriptors. The format of this information is the one usedin the world of digital TV according to the MHP standard.

There now follows a detailed description of a particular implementationof the conditional execution decision device 20 in an interactive MHPterminal referenced 82 (FIG. 8). The terminal 82 comprises software andstorage components which include:

-   -   drivers 84;    -   middleware 88 including generic and TV libraries 86 (DVB-SI        data—for “Service Information”, communication, etc.), a        conditional access unit 89 and the conditional execution        decision device 20;    -   a presentation engine 85 (browser) associated with a DVB-HTML        unit referenced 90;    -   an interactive engine 85′ (Java VM) associated with a DVB-J unit        referenced 90′;    -   a micro-kernel 87;    -   and storage areas 30S and 30P respectively for interactive        services and plug-ins.

In operation, on reception of a transmitted MHP stream 17, the drivers84, a tuner and a demultiplexer are used to extract first of all the PMT(Program Map Table) from the MPEG2 stream to recover the signalingdescribing the content of the stream 17 received.

On the one hand, the audio-visual programs are then offered to theviewer and on the other hand, if there is one, an interactive service 11is a candidate for display on the screen. It is at this point that thefiltering process of the conditional execution decision device 20 isapplied.

The steps of the method can be described as follows (FIG. 9):

-   -   opening of the audio-visual and service streams (steps 91 and        92), and extraction of MPEG2 packets containing the signaling;    -   recovery of the signaling by the drivers 84 and transmission to        the libraries 86 (step 93), which detect the availability of the        service 11 (step 94) and report it to the conditional execution        decision device 20 (step 95);    -   the libraries 86 responsible for managing the SI are used to        recover a data_broadcast_id descriptor and thus compile the list        of plug-ins necessary for the service 11 to be displayed        correctly on the screen of the viewer; this operation is driven        by the middleware 88 (step 42B);    -   this list is analyzed then compared with a resident list of        embedded plug-ins (step 43B) by the device 20;    -   if the plug-ins required by the transmitted service are present        in the list of embedded plug-ins, then the service 11 is        accepted; otherwise, the device 20 decides whether a downloading        of the missing plug-ins 13 is required, in a manner similar to        that explained for ATVEF; if, as in the example shown, the        device 20 decides not to proceed with the downloading, the        service 11 is disregarded (step 47B).        3/ PC World

The main interest is in the interactive applications for TV on PC (thePC being connected to a broadcasting network). When an HTML page ispublished (information incorporation device 31), pairs of name and valuefields “Name/Value” are defined to specify plug-ins required to executea service 11. These pairs are introduced in meta-data contained in theheader of the HTML page, as follows:

<META NAME=“mediaFormat” CONTENT=“<Plugin_Name>, [version]”>

with:

<Plugin_Name>: mandatory parameter

[version]: optional parameter indicating, if necessary, a minimumversion of the required plug-in.

The indication whether the missing plug-ins 13 must be downloaded or notwith forcing is inserted as follows:

<META NAME=“mediaDownload” CONTENT=“<TRUE or FALSE>”>

with:

-   -   if TRUE, forced downloading of the missing plug-ins 13;    -   and if FALSE, decision by the browser 105 whether or not to        download the plug-ins 13 according to the life span of the        service 11.

A concept of service life span is also inserted:

<META NAME=“ServiceValidityWindow” CONTENT=“<Start Time>, <End Time>”>

The HTML page takes the following form for example: <HTML> <!-- CREATIONDATE: 14/12/99 --> <HEAD> <TITLE></TITLE> <META NAME=“Description”CONTENT=“”> <META NAME=“Keywords” CONTENT=“”> <META NAME=“Author”CONTENT=“Frederic Pasquier”> <META NAME=“mediaFormat” CONTENT=“Flash,4”> <META NAME=“mediaFormat” CONTENT=“MP3”> <META NAME=“mediaFormat”CONTENT=“MHEG-5”> <META NAME=“mediaDownload” CONTENT=“TRUE”> <METANAME=“ServiceValidityWindow” CONTENT=“2873397496, 2873404696”> </HEAD><BODY> .. HTML code using Flash 4, MP3 and PNG, etc. formats </BODY></HTML>

A PC 102 capable of implementing the conditional execution decisiondevice 20 (FIG. 10) comprises a browser 105 incorporating this device20, and storage areas 30P and 30S respectively for plug-ins andservices. The browser 105 is designed to be able to recover andunderstand the Name/Value pairs defined above.

In operation, the PC 102 receives a stream 18 comprising an HTML pagewith a header as described above. The browser 105 then decides whetheror not to download and install the plug-ins required 13 and display thecorresponding service 11, according to a method similar to the oneexplained previously for ATVEF. The plug-ins available or downloaded arealways installed on the hard disk.

1. A conditional decision device for the execution of services receivedvia a communication network, said received services having predeterminedlife spans, said device comprising: a module for receiving informationassociated with said services, provided to receive said informationprior to the execution of said associated services, a module foridentifying, from said information received, information concerningcomputer programs required to execute said services associated with saidinformation, a module for checking the local availability of saididentified computer programs, and a selective decision module for theexecution of services, provided to allow the execution of said servicesif said computer programs required for said services are availablelocally, further comprising said device also comprises: a module foracquiring computer programs, capable of triggering a download of saidcomputer programs required for said services if said computer programsare not available locally, and an automatic selective decision modulefor acquiring computer programs, capable of allowing and preventing thedownloading of said computer programs required for said services and notavailable locally, at least according to said information associatedwith said services.
 2. The conditional execution decision device asclaimed in claim 1, wherein since said information associated with saidservices includes temporal information relating to the validity ofexecution of said services, the selective acquisition decision module iscapable of allowing and preventing said downloading at least accordingto said temporal information.
 3. The conditional execution decisiondevice as claimed in claim 2, wherein the selective acquisition decisionmodule is designed to allow said downloading if said downloading isexpected to be completed before predefined instants of said services,extractable from said temporal information, and to prevent saiddownloading otherwise.
 4. The conditional execution decision device asclaimed in claim 3, wherein said predefined instants specify ends ofvalidity of execution of said services.
 5. The conditional executiondecision device as claimed in 3, wherein said predefined instantsspecify starts of validity of execution of said services.
 6. Theconditional execution decision device as claimed in 3, wherein theselective acquisition decision module is capable of acquiringdownloading times of said computer programs required and not availablelocally, and thus of estimating when said downloading is expected to becompleted.
 7. The conditional execution decision device as claimed inclaim 1, wherein since said information associated with said servicesincludes at least one forced downloading indicator having an activatedvalue and a deactivated value, said selective acquisition decisionmodule is designed to forcibly allow said downloading if said forceddownloading indicator has the activated value.
 8. The conditionalexecution decision device as claimed in claim 1, further comprising amodule for acquiring sizes of said computer programs required and notavailable locally and the selective acquisition decision module iscapable of allowing and preventing said downloading also according tosaid sizes.
 9. The conditional execution decision device as claimed inclaim 8, wherein the selective acquisition decision module is designedto estimate downloading times of said computer programs required and notavailable locally according to said sizes and local receptioncapabilities for said computer programs, and to allow said downloadingwhen said downloading allows an at least partial subsequent execution ofsaid services.
 10. The conditional execution decision device as claimedin claim 1, wherein since said services include messages of announcementof services and contents, the reception module is designed to receivesaid information associated with said services, in said announcementmessages of services and the information identification module isdesigned to extract said information from said service announcementmessages.
 11. A conditional decision method for the execution ofservices received via a communication network, said received serviceshaving predetermined life spans, said method comprising: a step for thereception of information associated with said services prior to theexecution of said services, a step for identifying, from said receivedinformation, information concerning computer programs required for theexecution of said services associated with said information, a step forchecking the local availability of said identified computer programs,and a selective decision step for the execution of services, in which anexecution of said services is allowed if said computer programs requiredfor said services are available locally, further comprising said methodalso comprises: a step for acquiring computer programs, by downloadingsaid computer programs required for said services if said computerprograms are not available locally, and a selective decision step forautomatically acquiring computer programs, in which a decision is madeto enable or prevent the downloading of said computer programs requiredfor said services and not available locally, at least according to saidinformation associated with said services, said method being preferablydesigned to be implemented using a conditional execution decision deviceas claimed in claim
 1. 12. A device for compiling information messagesassociated with services, said messages being intended for transmissionto users before execution of said associated services, said deviceincluding means of incorporating in said messages information concerningcomputer programs required for the execution of said services whereinsaid incorporation means are designed to include in said information atleast one forced downloading indicator having an activated value and adeactivated value, said indicator being designed to forcibly allow thedownloading of said computer programs required if said indicator has theactivated value, said message compilation device being preferablydesigned to produce messages intended for a conditional executiondecision device as claimed in claim
 1. 13. A method of compilinginformation messages associated with services, said messages beingintended for transmission to users before execution of said associatedservices, said method including a step for incorporating in saidmessages, information concerning computer programs required for theexecution of said services wherein on said incorporation step, at leastone forced downloading indicator having an activated value and adeactivated value is included in said information, said indicator beingintended to forcibly allow the downloading of said computer programsrequired if said indicator has the activated value, said messagecompilation method being preferably implemented using a messagecompilation device as claimed in claim
 12. 14. A computer programproduct comprising program code instructions for the execution of thesteps of the method as claimed in claim 11 when said program is run on acomputer.
 15. A control information message containing informationintended to be utilized automatically by at least one receiver andassociated with at least one service, said message being designed to betransmitted to said receiver before an execution of said service, andincluding information concerning at least one computer program requiredfor the execution of said service, wherein said information includes atleast one forced downloading indicator having an activated value and adeactivated value, said indicator being intended to forcibly allow thedownloading of said computer program required if said indicator has theactivated value, said control information message being preferablyintended to be produced by a message compilation device as claimed inclaim
 12. 16. A decoder, further comprising a conditional executiondecision device as claimed in claim 1.